package br.edu.granbery.indianostore.action;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.edu.granbery.indianostore.controller.Action;
import br.edu.granbery.indianostore.dao.DaoFactory;
import br.edu.granbery.indianostore.dao.ProdutoDao;
import br.edu.granbery.indianostore.model.Produto;

public class RemoverItemCarrinhoAction implements Action{

	@Override
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		String idProduto = request.getParameter("id");
		HttpSession sessao = request.getSession(true);
		List<Produto> produtos = (List<Produto>)sessao.getAttribute("Carrinho");
		List<Produto> produtosNovaLista = new ArrayList<Produto>();
		DaoFactory factory = (DaoFactory) sessao.getAttribute("factory");
		ProdutoDao produtoDao = factory.getProdutoDao();
		Produto produto = new Produto();
		produto = produtoDao.buscarProduto(Integer.parseInt(idProduto));
		for(Produto produtofor : produtos){
			if(produtofor.getId() != produto.getId()){
				produtosNovaLista.add(produtofor);
			}
		}	
		sessao.removeAttribute("Carrinho");
		sessao.setAttribute("Carrinho", produtosNovaLista);
		RequestDispatcher view = request.getRequestDispatcher("/View/Carrinho/Carrinho.jsp");
		try {
			view.forward(request, response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
